home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
mint
/
mint110s.zoo
/
genmagic.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-08-16
|
2KB
|
75 lines
#include "mint.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
static void usage P_((void));
static void
usage()
{
fprintf(stderr, "Usage: genmagic outputfile\n");
exit(2);
}
/* conventions:
* C_XXX is offset of XXX in CONTEXT struct
* P_XXX is offset of XXX in PROC struct
*/
struct magics {
const char *name;
long value;
} magics[] = {
{ "C_PTRACE", offsetof(CONTEXT, ptrace)},
{ "C_SFMT", offsetof(CONTEXT, sfmt)},
{ "C_INTERNAL", offsetof(CONTEXT, internal)},
{ "C_SR", offsetof(CONTEXT, sr)},
{ "C_PC", offsetof(CONTEXT, pc)},
{ "C_FSTATE", offsetof(CONTEXT, fstate)},
{ "C_FREGS", offsetof(CONTEXT, fregs)},
{ "C_FCTRL", offsetof(CONTEXT, fctrl)},
{ "C_USP", offsetof(CONTEXT, usp)},
{ "C_SSP", offsetof(CONTEXT, ssp)},
{ "C_TERM", offsetof(CONTEXT, term_vec)},
{ "C_D0", offsetof(CONTEXT, regs)},
{ "C_A0", offsetof(CONTEXT, regs)+32},
{ "C_CRP", offsetof(CONTEXT, crp)},
{ "C_TC", offsetof(CONTEXT, tc)},
{ "P_CTXT0", offsetof(PROC, ctxt)},
{ "P_SYSTIME", offsetof(PROC, systime)},
{ "P_USRTIME", offsetof(PROC, usrtime)},
{ "P_PTRACER", offsetof(PROC, ptracer)},
{ "P_SYSCTXT", offsetof(PROC, ctxt)},
{ "P_EXCPC", offsetof(PROC, exception_pc)},
{ "P_EXCSSP", offsetof(PROC, exception_ssp)},
{ "P_EXCADDR", offsetof(PROC, exception_addr)},
{ "P_EXCTBL", offsetof(PROC, exception_tbl)},
{ "P_EXCMMUSR", offsetof(PROC, exception_mmusr)},
{ (char *)0, 0 }
};
int
main(argc, argv)
int argc;
char **argv;
{
FILE *f;
int i;
if (argc != 2)
usage();
f = fopen(argv[1], "w");
if (!f) {
perror(argv[1]);
exit(1);
}
for (i = 0; magics[i].name; i++) {
fprintf(f, "%%define %s %ld\n", magics[i].name,
magics[i].value);
}
fclose(f);
return 0;
}